package demo11;

import java.lang.reflect.Array;

public class Fruit<T> {
    //创建泛型数组对象引用
    private T[] array;

    //根据传入的参数，创建泛型数组
    public Fruit(Class<T> clz, int length) {
        //利用Array下的newInstance和构造方法，创建泛型对象
        array = (T[])Array.newInstance(clz,length);
    }

    /**
     * 填充数组元素
     * @param index
     * @param item
     */
    public void put(int index, T item) {
        array[index] = item;
    }

    /**
     * 获取数组单个元素
     * @param index
     * @return
     */
    public T get(int index) {
        return array[index];
    }

    /**
     * 获取整个数组
     * @return
     */
    public T[] getArray() {
        return array;
    }
}
